package edu.xjtu.jih.item;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface ItemDao {
    //    添加商品
    @Insert("insert into items(item_id,item_name,item_price,item_image,item_desc,item_label,status) values(#{item_id},#{item_name},#{item_price},#{item_image},#{item_desc},#{item_label},#{status})")
    public void addItem(ItemDto dto) ;

    //    添加用户与商品联系信息
    @Insert("insert into user_item(u_id,item_id,upload,time) values(#{u_id},#{item_id},#{upload},NOW())")
    void addUser_Item(User_item user_item);

    //    获得最大item_id
    @Select("select max(item_id) from items")
    public int findItemId();

    //    获取所有商品
    @Select("select * from items where status=1")//status区分商品还是需求
    public List<ItemDto> getAllItem();

    //    获取商品信息
    @Select("select * from items where item_id=#{item_id}")
    ItemDto getItem(int item_id);

    //   删除商品
    @Update("delete from items where item_id=#{item_id}")
    int delItem(int item_id);

    //   删除用户商品表的信息
    @Update("delete from user_item where item_id=#{item_id}")
    void delUser_Item(int item_id);
    //   删除用户收藏表的信息
    @Update("delete from user_star where item_id=#{item_id}")
    void delUser_Star(int item_id);

    @Update("update items set item_name=#{item_name} , item_price=#{item_price} , item_desc=#{item_desc} , item_label=#{item_label} , item_image=#{item_image}  where item_id=#{item_id}")
    void changeItemInfo(ItemDto itemDto);

    @Update("update items set item_name=#{item_name} , item_price=#{item_price} , item_desc=#{item_desc} , item_label=#{item_label} , item_image=#{item_image} where item_id=#{item_id}")
    void changeItemInfoWithImage(ItemDto dto);
}
